/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.client.assembler.output.p2bis;

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

import fr.generali.accueilclient.client.om.IPersonneMorale;
import fr.generali.accueilclient.client.om.impl.PersonneMorale;
import fr.generali.refservcommuns.rce.rechpersgen.extrait.DtoExtraitPersonneMorale;

/**
 * Transforme un {@link DtoExtraitPersonneMorale} en un {@link IPersonneMorale}
 * 
 * @author Guillaume Lancelin
 */
@Component("dtoExtraitPersonneMorale2PersonneMoraleConverter")
public class DtoExtraitPersonneMorale2PersonneMoraleConverter implements
    Converter<DtoExtraitPersonneMorale, IPersonneMorale> {

    /**
     * LOGGER
     */
    private static final Logger LOGGER =
                    LoggerFactory.getLogger(DtoExtraitPersonneMorale2PersonneMoraleConverter.class);
    
    /**
     * {@inheritDoc}
     */
    public IPersonneMorale convert(DtoExtraitPersonneMorale input) {
        LOGGER.info("assemble");
        IPersonneMorale personneMorale = new PersonneMorale();
        
        personneMorale.setRaisonSociale(input.getRaisonSociale());
        
        // Récupération de la forme juridique si elle existe
        if (input.getEntreprise() != null 
                        && StringUtils.isNotEmpty(input.getEntreprise().getFormeJuridique())) {
            personneMorale.setFormeJuridique(input.getEntreprise().getFormeJuridique());
        }
        return personneMorale;
    }
}
